var game = new Phaser.Game(800, 600, Phaser.AUTO, '', { preload: preload, create: create, update: update }); 
var score = 0; 
var scoreText;

var player;
var platforms;
var cursors;
var stars;

function preload() { 
	
	game.load.image('sky', 'assets/sky.png'); 
	game.load.image('ground', 'assets/platform.png'); 
	game.load.image('star', 'assets/star.png'); 
	game.load.spritesheet('dude', 'assets/dude.png', 32, 48);
	
	} 

var platforms; 
function create() { 
	
	
	// A simple background for our game
	 game.add.sprite(0, 0, 'sky');
	 
	// The platforms group contains the ground and the 2 ledges we can jump on 
	platforms = game.add.group(); 
	
	// Here we create the ground. 
	var ground = platforms.create(0, game.world.height - 64, 'ground'); 
	
	// Scale it to fit the width of the game (the original sprite is 400x32 in size) 
	ground.scale.setTo(2, 2); 
	
	// This stops it from falling away when you jump on it 
	ground.body.immovable = true; 
	
	// Now let's create two ledges 
	var ledge = platforms.create(400, 400, 'ground');
	
	ledge.body.immovable = true; 
	
	ledge = platforms.create(-150, 250, 'ground'); 
	ledge.body.immovable = true; 
	
	
	
	// The player and its settings 
	player = game.add.sprite(32, game.world.height - 150, 'dude'); 
	
	// Player physics properties. Give the little guy a slight bounce. 
	player.body.bounce.y = 0.2; player.body.gravity.y = 6; 
	
	player.body.collideWorldBounds = true; 
	
	// Our two animations, walking left and right. 
	player.animations.add('left', [0, 1, 2, 3], 10, true); 
	player.animations.add('right', [5, 6, 7, 8], 10, true);
	
	cursors = game.input.keyboard.createCursorKeys();
	
	player.body.gravity.y = 6;
	
	stars = game.add.group(); 
	// Here we'll create 12 of them evenly spaced apart 
	for (var i = 0; i < 12; i++) {  
		// Create a star inside of the 'stars' group 
		var star = stars.create(i * 70, 0, 'star');
		
		// Let gravity do its thing 
		star.body.gravity.y = 6; 
		// This just gives each star a slightly random bounce value 
		star.body.bounce.y = 0.7 + Math.random() * 0.2; 
		}
		
		scoreText = game.add.text(16, 16, 'score: 0', { fontSize: '32px', fill: '#000' });
	
	}
	
function update() { 
	
	// Collide the player and the stars with the platforms 
	game.physics.collide(player, platforms);
	game.physics.collide(stars, platforms);
	
	game.physics.overlap(player, stars, collectStar, null, this);
	
	// Reset the players velocity (movement) 
	player.body.velocity.x = 0; if (cursors.left.isDown) { 
		// Move to the left 
		player.body.velocity.x = -150; 
		player.animations.play('left'); } 
		
		else if (cursors.right.isDown) { 
			// Move to the right 
			player.body.velocity.x = 150; 
			player.animations.play('right'); } 
			else { 
			// Stand still 
			player.animations.stop(); 
			player.frame = 4; 
			} 
			// Allow the player to jump if they are touching the ground. 
			if (cursors.up.isDown && player.body.touching.down) { 
				player.body.velocity.y = -350; 
				}
				
			
	
	}
	
function collectStar (player, star) { 
	
	// Removes the star from the screen 
	star.kill(); 
	
	score += 20; 
	scoreText.content = 'Score: ' + score;
	}